﻿using System;

namespace SymbolIntegration.core
{
    public class ParseException : Exception
    {
        private readonly string m_Expression;
        private readonly int m_Position;
        private readonly int m_Size;
        private readonly int m_ErrorPosition;

        public ParseException(string message, string expression, int position, int size, int errorPosition):base(message)
        {
            m_Expression = expression;
            m_Position = position;
            m_Size = size;
            m_ErrorPosition = errorPosition;
        }

        public string Expression
        {
            get { return m_Expression; }
        }

        public int Position
        {
            get { return m_Position; }
        }

        public int Size
        {
            get { return m_Size; }
        }

        public int ErrorPosition
        {
            get { return m_ErrorPosition; }
        }
    }
}